package edu.whu.demo.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
// 定义一个名为Product的类，实现Serializable接口
public class Product implements Serializable {

    // 定义一个静态常量serialVersionUID，用于序列化版本控制
    private static final long serialVersionUID = 1L;

    // 定义一个名为id的Long类型属性，使用@TableId注解指定为数据库表的主键，并设置主键类型为自增长
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    // 定义一个名为category的String类型属性
    private String category;

    // 定义一个名为description的String类型属性
    private String description;

    // 定义一个名为name的String类型属性
    private String name;

    // 定义一个名为price的Float类型属性
    private Float price;

    // 定义一个名为productType的String类型属性，使用@TableField注解指定为数据库表的字段名
    @TableField(value = "product_type")
    private String productType;

    // 定义一个名为stockQuantity的Float类型属性，使用@TableField注解指定为数据库表的字段名
    @TableField(value = "stock_quantity")
    private Float stockQuantity;
}

